void inicia_nivel2()
{
   /* inicia mapa */
   nivel2.alpha=255;
   nivel2.load_map("mapas/nivel2/KMnivel2.mapa"); 
   nivel2.scrollcounty=-((64*63)-(6.5*64)); //-(64*63); posicion al iniciar el nivel2.
   //nivel2.scrollcounty=-400.0; //fin del nivel2.
   /* crea las bladosas */
   /* cuidado al cargar datos que no este hechos */
   crea_trampas(2);
   crea_torres(2);                                                              // crea las torres del nivel 1
   crea_caballos(2);                                                            //create horse tiles.
   crea_kings(2);                                                               // crea reyes
   /* crea a muerte */
   crea_muerte();   
   bosszone=false;
  /* crea enemigos */
   crea_bugs();                                                                // bichos del nivel 2  
   crea_bones();  
   crea_sbone();                                                                // disparo de los esqueletos.
   crea_meteors();                                                              // meteoros    
   /* para intro */
   is_game_stop=true; 
   Tstop.set_time(10);                                                          // tiempo que dura la intro
   is_intro=true;                                                              // muestra la introduccion al nivel
   popolon.x=300;                                                               // posicion de popolon
   popolon.y=220;                                                               // siempre que se inicie la intro.
   estado = 2;
   arma=0;
   muerteestado=0;
   nivel2.ready=true;
   teclado.paused=false; 
   //nivel2.test_tiles=true;
}
void finaliza_nivel2()
{
    /* jefe */
    deathhead.termina();
    deathbody.termina();
    scythe.termina();                                                         // arma de muerte
    /* enemigos */
    bug.termina();                                                            // bichos
    bone.termina();                                                           // huesos
    probone.termina();
    meteor.termina();                                                         // meteoros
    /* mapa */
    nivel2.ready=false;                                                         // desactiva el mapa    
    nivel2.fin();                                                           // elimina el mapa
    /*baldosas */
    torre.termina();                                                                  // tower tile sprite
    horse.termina();
    king.termina();
    trap.termina();        
}

void run_nivel2()
{
     
     if (is_intro==true)                                                        // muestra el nivel y comienza //
      {
        Tstop.countdown();
        if (Tstop.count==0) 
        { 
            is_game_stop=false; 
            is_intro=false;
            mus.play();                                                         // toca la musica del juego.
        }
        nintendo.escala=0.9;
        if (Tstop.count%2!=0) nintendo.escribe(260,200,"STAGE 2",15);           // Para hacerlo intermintente
        pinta_marcador();
        return; 
      }                             
    
     nivel2.pintatiles();
    
     if (is_game_stop==false) nivel2.autoscroll(scroll_speed,1,1); // velocidad, direccion , orientacion 0=hor, 1=vert
    
    
    /*  hardware scroll
    if (is_game_stop==false) {
        ay-=0.8;   
            glMatrixMode (GL_PROJECTION);                                                // Modo matriz
         glLoadIdentity();
        glOrtho ( 0 , 640, 480+ay, ay , -1 , 1 );
    }  
    
    
     /* final del nivel */
     if (int(nivel2.scrollcounty)==-300)                                        // nos acercamos al final de fase
     {
            mus.stop();                                                         // detiene la musica de fase
            finfase.play();                                                     // toca la musica de fin de fase.
            bosszone=true;                                                      // activa el modo boss zone
     }
	 if (bosszone==true)
     {
        if (int(nivel2.scrollcounty)==0 && muerteestado==0) 
        {
            is_game_stop=true;                                                  // para el nivel.
            muerteestado=1;                                                     // activa a medusa
            Tstop.set_time(360);                                                // Fija el tiempo de vida de medusa en 3minutos
        }
        if (muerteestado<2 && nivel2.evento_pausa==false ) pinta_muerte();      // si medusa esta viva LAPINTA
        if (muerteestado==1 && nivel2.evento_pausa==false ) 
        { 
            Tstop.countdown();                                                  // actualiza el timer
        }
        if (muerteestado==2)                                                       // si muere el jefe
         {
            teclado.paused=true;
			if (popolon.x<(video.ancho/2)-32)  popolon.x++;
            if (popolon.x>(video.ancho/2)-32)  popolon.x--;
            if (popolon.x==(video.ancho/2)-32)  popolon.y--;
            if (popolon.y<64) 
            {
                finaliza_nivel2();                                              // borra todos los datos del nivel.
                estado=3;                                                       // fija el estado para el siguiente nivel    
                is_intro=true;                                                  // que comienze con la intro
				return;                                                         // sale de la funcion
            }        
         }
     }      
     /* toca la musica del final de fase */
     
     if (is_game_stop && bosszone==false)                                                          // tile stop active           
      { 
        Tstop.countdown();
        char cadena[14];
        sprintf (cadena,"%d",Tstop.count);
        nintendo.escala=0.9;
        nintendo.usaalpha=false;                                                // set text alpha off
        nintendo.escribe(600,0,cadena,15);
        nintendo.usaalpha=true;
        nintendo.escala=0.6;                                                    // rest text scale.
        if (Tstop.count==0) is_game_stop=false; 
      }
     if (nivel2.evento_pausa==true)                                                   // if game is paused;
      {
        pinta_poppause();
        nintendo.escala=0.9;
        nintendo.usaalpha=false;                                                // set text alpha off
        nintendo.escribe(250,200,"PAUSED",15);
        nintendo.usaalpha=true;
        nintendo.escala=0.6;
        pinta_marcador();
        return; 
       }                                      
     else
       { 
        if (mus.paused==true) mus.play();
       // if (finfase.stopped==true) finfase.play();    algo falla aqui
       }
     pinta_ras();
     /* pinta baldosas */
     pinta_torre(nivel2.scrollcounty);  
     pinta_trampas(nivel2.scrollcounty);  
     pinta_horses(nivel2.scrollcounty);
     pinta_reinas(nivel2.scrollcounty);
     pinta_kings(nivel2.scrollcounty);
     /* pinta Weapon option */
     pinta_optionw(nivel2.scrollcounty);
     /* PINTA OPTION */
     pinta_option(nivel2.scrollcounty);
     /* shield paint */ 
     if (shield.visible==true) pinta_shield();                                         // paint only if sprite is visible. 
     /* maneja el sprite de popolon */
     pinta_popolon(nivel2.scrollcounty); 
     /* flechas */
     if (arma==0 || arma==1) arrows_move(nivel2.scrollcounty);
     /* fballs */
     if (arma==2 || arma==3) fballs_move(nivel2.scrollcounty);
     /* boomerang */
     if (arma==4 || arma==5) boomer_move(nivel2.scrollcounty);
     /* swords */
     if (arma==6 || arma==7) sword_move(nivel2.scrollcounty);
     /* flechas de fuego*/
     if (arma==8 || arma==9) farrows_move(nivel2.scrollcounty);
     /* bubles */
     //pinta_bubles(nivel2.scrollcounty,lv1_bublespos,26);
     //pinta_bugs(nivel2.scrollcounty,lv2_bugspos,26);
     pinta_bones(nivel2.scrollcounty,lv2_bones,26);
     pinta_meteors(nivel2.scrollcounty,lv2_meteorpos,26);
     /* guerreros */ 
     pinta_knight(nivel2.scrollcounty,lv1_knightpos,18);
     /* murcielagos */
     pinta_bats     (nivel2.scrollcounty,lv1_batpos,4);
     pinta_bats_spl (nivel2.scrollcounty,lv1_batpos_spl,2);
     pinta_bats_spr (nivel2.scrollcounty,lv1_batpos_spr,2);
     pinta_bats_zz  (nivel2.scrollcounty,lv1_batpos_zz,6);
     /* disparos de los enemigos */
     pinta_shot(4);
     // flechas enemigas.
     pinta_sarrow(4);
     // bones // 
     pinta_sbone(4);
     /* marcador */
     pinta_marcador();
}
